tests/lzma: Fix off-by-one in buffer size
authorColin Walters <walters@verbum.org>
Mon, 31 Jul 2017 14:05:04 +0000 (10:05 -0400)
committerAtomic Bot <atomic-devel@projectatomic.io>
Wed, 2 Aug 2017 15:34:16 +0000 (15:34 +0000)
Coverity spotted that we had an off-by-one here since we were using
`i+1`.  Fix this by adding a `-1` to the bounds check.  Also use
`sizeof()` to ensure the data and size are coupled.

Coverity CID: 1452207

Closes: #1037
Approved by: jlebon

tests/test-lzma.c

index b3487ee39ba6ac0e0085d665c71d327f63098112..559e9ad4fdb99f86911119d3605ae06f1ae1a0ee 100644 (file)
@@ -79,13 +79,12 @@ static void
 test_lzma_random (void)
 {
   gssize i;
-  const guint32 buffer_size = 4096 + 1;
-  guint8 buffer[buffer_size];
+  guint8 buffer[4096];
   g_autoptr(GRand) r = g_rand_new ();
-  for (i = 0; i < buffer_size; i++)
+  for (i = 0; i < sizeof(buffer); i++)
     buffer[i] = g_rand_int (r);
 
-  for (i = 2; i <= buffer_size; i *= 2)
+  for (i = 2; i < (sizeof(buffer) - 1); i *= 2)
     {
       helper_test_compress_decompress (buffer, i - 1);
       helper_test_compress_decompress (buffer, i);